Deduplicated (or dedupable) memory provides a more efficient mechanism in which to store data. In traditional memory solutions, each data object is written to its own location in memory. The same data object might be stored in any number of locations in memory, each as a separate copy: the memory system has no way to identify or prevent this repetitious storage of data. For data objects that are large, this repetitious storage of data may be wasteful. Dedupable memory, which stores only a single copy of any data object, attempts to address this problem.
Some dedupable memory utilizes Hash Tables to store the data objects. But the Hash Tables may only be incremented by mechanisms that double its size. This large increment granularity often leaves a large portion of memory that may not be used as dedupable memory, and is treated simply as an Overflow Region. Since the Overflow Region memory is not dedupable, the overall dedupe ratio thus drops when a big portion of memory is not dedupable.
A need remains for a way to increase the portion of memory that is subject to deduplication.